FROM {{ namespace }}/{{ infra_image_prefix }}base:{{ tag }}
{% block labels %}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% endblock %}

{% block elasticsearch_header %}{% endblock %}

{% import "macros.j2" as macros with context %}

{{ macros.configure_user(name='elasticsearch', shell='/bin/bash', homedir='/usr/share/elasticsearch') }}

{{ macros.enable_extra_repos(['elasticsearch']) }}

{% if base_package_type == 'rpm' %}
    {% set elasticsearch_packages = [
        'java-11-openjdk-headless',
        'elasticsearch-oss',
    ] %}

ENV JAVA_HOME /usr/lib/jvm/jre-11-openjdk/

{% elif base_package_type == 'deb' %}
    {% set elasticsearch_packages = [
        'elasticsearch-oss',
    ] %}

# NOTE(osmanlicilegi): post-install script of elasticsearch fails when trying to
# install elasticsearch and java together.
{{ macros.install_packages(['default-jre-headless']) }}

ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-{{debian_arch}}/

{% endif %}

ENV ES_SKIP_SET_KERNEL_PARAMETERS true

{{ macros.install_packages(elasticsearch_packages | customizable("packages")) }}
COPY extend_start.sh /usr/local/bin/kolla_extend_start

# NOTE: By default the shell of the elasticsearch user is /bin/false. We have to
# change the shell to /bin/bash to be able to run elasticsearch as a non-root user.
#
# https://discuss.elastic.co/t/running-as-non-root-user-service-wrapper-has-changed/7863

RUN chmod 755 /usr/local/bin/kolla_extend_start

{% block elasticsearch_footer %}{% endblock %}
{% block footer %}{% endblock %}

USER elasticsearch
